Flexible array member〔(【引用サイトリンク】title=Lesser known C features )〕 is a feature introduced in the C99 standard of the C programming language (in particular, in section §6.7.2.1, item 16, page 103).〔http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf〕 It is a member of a struct, which is an array without a given dimension, and it should be the last member of such a struct, as in the following example:
When using structures with a flexible array member, some convention regarding the actual size of that member should be defined. In the example above, the convention is that the member array has length double-precision numbers. In previous standards of the C language, it was common to declare a zero-sized array member instead of a flexible array member. The GCC compiler explicitly accepts zero-sized arrays for such purposes.〔(【引用サイトリンク】title=Zero Length - Using the GNU Compiler Collection (GCC) )〕 C++ does not have flexible array members. == References ==